---
type: epic
title: E01 Checkout Hardening
description: Close the gaps the Order Placement flow already documents — the missing audit write on declines, and the retry affordance a hard decline should not offer.
tags: [epic]
timestamp: {{DATE}}
---
<!-- ✂ docujoint template sample — replace with your own content, then delete this comment. -->
# E01 Checkout Hardening

## Overview
A worked example of a backlog that lives WITH the documentation rather than
in a tracker. Every ticket points at the document holding its requirements
(`Context`), and none of them carries a status: a ticket is `built` because
its `Implemented` cell cites shipped code, `partial` while a Gap remains,
`missing` when only a Gap exists. That is the same rule the features tables
obey, applied to work — so "done" is a claim the evidence supports rather
than a card someone dragged.

Ordering lives in `Depends` and in the map below, not in a priority column.

## Map
```mermaid
flowchart LR
  t1[t1 record declined attempts] --> t3[t3 prove it end to end]
  t2[t2 hide retry on hard declines] --> t3
```

## Tickets
The three states a reader should be able to tell apart at a glance: one done
and citing its evidence, one half-finished, one not started.

## Open questions
`About` names the row the question blocks — here a TICKET id, because that is
what this document holds. The same column points at a feature id in a flow or
a page: the format names both blocks as targets, so a question joins to the
thing it is about instead of mentioning it in a sentence.

